package com.wsoft.system.service;

import com.github.pagehelper.PageInfo;
import com.wsoft.system.dto.SysMenuNode;
import com.wsoft.system.entity.SysMemberEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wsoft.system.entity.SysMenuEntity;
import com.wsoft.system.query.member.MemberListQuery;
import com.wsoft.system.query.member.MemberInsertQuery;
import com.wsoft.system.query.member.MemberUpdateQuery;

import java.util.List;

/**
 * <p>
 * 员工表 服务类
 * </p>
 *
 * @author juiet
 * @since 2024年09月03日 10:35:18
 */
public interface ISysMemberService extends IService<SysMemberEntity> {

    /**
     * 注册用户
     * @param query
     * @return boolean
     */
    boolean register(MemberInsertQuery query);

    /**
     * 修改用户信息
     * @param query
     * @return boolean
     */
    boolean update(MemberUpdateQuery query);

    /**
     * 获取用户详情
     * @param id
     * @return SysMemberEntity
     */
    SysMemberEntity getMember(Long id);

    /**
     * 删除用户
     * @param id
     * @return boolean
     */
    boolean delete(Long id);

    /**
     * 分页查询用户列表
     * @param query
     * @return PageInfo
     */
    PageInfo<SysMemberEntity> pageList(MemberListQuery query);

    /**
     * 根据用户获取树形菜单列表
     * @param memberId
     * @return
     */
    List<SysMenuNode> treeMenuListByMemberId(Long memberId);

}
